1. Field of the Invention
The present invention relates to a number-of-pixels conversion apparatus and a display apparatus using the same. More particularly, the invention relates to a number-of-pixels conversion apparatus that interpolates digital data (i.e., pixel data) corresponding to an arbitrary number of pixels, respectively, to display a number-of-pixels-converted version of an image that is represented by the pixel data as well as to a display apparatus using the conversion apparatus.
The above number-of-pixels conversion apparatus and the display apparatus are useful in displaying a number-of-pixels-converted version of an image on a matrix display device in which a number of pixels are arranged two-dimensionally, such as a liquid crystal panel, a plasma display panel (PDP), or a digital micromirror device (DMD).
2. Description of the Related Art
A description will be made of a pixel data conversion method for enlarging or reducing an image at an arbitrary ratio by increasing or decreasing the number of pixels. In the following description, the xy orthogonal coordinate system is used in which the x-coordinate and the y-coordinate correspond to the horizontal direction and the vertical direction, respectively.
FIG. 1 schematically shows a relationship between a pre-conversion image (i.e, on original image) and a post-conversion image. In FIG. 1, mark xe2x80x9c◯xe2x80x9d represents pixel data of the original image and mark xe2x80x9cxe2x97xafxe2x80x9drepresents image regions after the conversion that correspond to the pixel data xe2x80x9c◯xe2x80x9d of the original image. It is assumed that the original image is represented by pixel data that have been obtained by sampling in both of the horizontal and vertical directions and that includes m pixels in the horizontal direction and n pixels in the vertical direction. Consideration will be given to a case of enlarging the original image of mxc3x97n pixels to pixel data of Mxc3x97N pixels that includes M( greater than m) pixels in the horizontal direction and N ( greater than n) pixels in the vertical direction. In this case, the horizontal enlargement magnification factor is M/m and the vertical enlargement magnification factor is N/n.
In a pixel data interpolation method for the above conversion in the number of pixels, first, inverse mapping is performed which maps post-conversion coordinates to pre-conversion coordinates.
FIG. 2 shows how a pixel D of a post-conversion image is inversely mapped to coordinates in an original image. In FIG. 2, xe2x80x9c◯xe2x80x9d represents pixels of the original and xe2x80x9cxe2x97xafxe2x80x9d represents pixels of the inversely-mapped post-conversion image. To simplify the description, it is assumed that adjacent pixels of the original image have an interval of a distance xe2x80x9c1xe2x80x9d in each of the horizontal and vertical directions. Further, a pixel of the original image having coordinates (x, y) is denoted by d(x, y) and its density value is also denoted by d(x, y), where x and y are integers.
As shown in FIG. 2, the pixel D is inversely-mapped to coordinates that divide the region defined by four pixels d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) at a ratio p:(1xe2x88x92p) in the horizontal direction and at a ratio q:(1xe2x88x92q) in the vertical direction. The inversely-mapped pixel D of the post-conversion image has coordinates (x+p, y+q). It is noted that 0≲p less than 1 and 0≲q less than 1.
In the following description, the pixel D for which interpolation is performed based on density values of the original image is called an interpolation pixel and the four pixels d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) of the original image that are used to determine the density value of the interpolation pixel D are called reference pixels.
The density value of the inversely-mapped interpolation pixel D(x+p, y+q) (in the following description, its density value will also be represented by the same symbol D(x+p, y+q) ) is given by Equation (1) below by using the density values of the pixels d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) of the four reference pixels d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) located at the four corners around the interpolation pixel D and interpolation coefficients Hx(p), Gx(p), Hy(q) and Gy(q). The interpolation coefficient is a coefficient that indicates to what extent the associated reference pixel contributes to the interpolation pixel.
D(x+p, y+q)=Hx(p)xc2x7Hy(q)xc2x7d(x, y)+Gx(p)xc2x7Hy(q)xc2x7d(x+, y)xe2x80x83xe2x80x83(1)
+Hx(p)xc2x7Gy(q)xc2x7d(x, y+1)+Gx(p)xc2x7Gy(q)xc2x7d(x+1, y+1)
where 0≲p less than 1 and 0≲q less than 1. Hx(p) and Gx(p) are functions of the distance p in the x-direction and Hy(q) and Gy(q) are functions of the distance q in the y-direction. Further, Hx(p)=1xe2x88x92Gx(p) and Hy(q)=1xe2x88x92Gy(q).
An interpolation method satisfying Equation (1) has a feature that the above-described interpolation can easily be performed by combining horizontal interpolation and vertical interpolation, which will be described with reference to FIGS. 3 and 4.
As shown in FIG. 3, first, an imaginary pixel t(y) is assumed that is located from the pixel d(x, y) by a distance p in the horizontal direction. The density value of the pixel t(y) (the density value will be represented by the same symbol t(y) in the following description) can be determined by interpolation based on the density values d(x, y) and d(x+1, y). Similarly, a density value t(y+1) can be determined based on the density values d(x, y+1) and d(x+1, y+1).
Then, as seen from FIG. 4, the density value D(x+p, y+q) of the interpolation pixel that is located from t(y) by a distance q from t(y) in the vertical direction can be determined from the above values t(y) and t(y+1).
This is apparent from the fact that Equation (1) can be modified into Equation (2) below.
D(x+p, y+q)=Hy(q)xc2x7t(y)+Gy(q)xc2x7t(y+1) . . . (2) 
where
t(y)=Hx(p)xc2x7d(x, y)+Gx(p)xc2x7d(x+1, y), and
t(y+1)=Hx(p)xc2x7d(x,y+1)+Gx(p)xc2x7d(x+1, y+1).
In the interpolation method satisfying Equation (1), since the horizontal interpolation and the vertical interpolation are performed in the directions of the coordinate axes that are perpendicular to each other, they can be processed independently of each other. Therefore, the interpolation characteristics of an interpolation method that is a combination of horizontal interpolation and vertical interpolation can be discussed by independently considering a horizontal interpolation characteristic and a vertical interpolation characteristic. For this reason, in the following description, the interpolation characteristic in each of the horizontal and vertical directions is referred to simply as an interpolation characteristic.
An interpolation method called a linear interpolation method will be described below as a first conventional example that satisfies Equation (1). According to the linear interpolation method, the density value of the pixel D can be determined by multiplying the density values d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) of the four corner pixels of the original image around the pixel D by the complements of their distances in the x and y-directions from the pixel D (i.e., values obtained by subtracting those distances from 1) and adding up resulting products. That is, in the linear interpolation method, the density value D of the pixel D is given by Equation (3).
D=(1xe2x88x92q)xc2x7(1xe2x88x92p)xc2x7d(x, y)+(1xe2x88x92q)xc2x7pxc2x7d(x+1,y)xe2x80x83xe2x80x83(3)
+qxc2x7(1xe2x88x92p)xc2x7d(x, y+1)+qxc2x7pxc2x7d(x+1, y+1)
Equation (3), which represents the density value of the interpolation pixel according to the linear interpolation method, is modified into Equation (4) below.
D=(1xe2x88x92q){(1xe2x88x92p)xc2x7d(x, y)+pxc2x7d(x+1, y)}
+q{(1xe2x88x92p)xc2x7d(x, y+1)+pxc2x7d(x+1, y+1)}xe2x80x83xe2x80x83(4) 
By substituting 1xe2x88x92p=Hx(p), p=Gx(p), 1xe2x88x92q=Hy(q), and q=Gy(q), it is apparent that Equation (4) satisfies Equation (2).
The interpolation coefficients of the linear interpolation method will be described below by using, as an example, the interpolation in the horizontal direction (x-direction) for determining t(y) from d(x, y) and d(x+1, y) that is illustrated in FIG. 3.
FIGS. 5a and 5b show interpolation coefficients Hx(p) and Gx(p) of the linear interpolation method. In the following description, Hx(p) and Gx(p) are written as H and G for the sake of simplification. In FIGS. 5a and 5b , the horizontal axis represents the horizontal distance p between the inversely-mapped interpolation pixel D(x+p, y+q) and the reference pixel d(x, y) and the vertical axis represents the value of the interpolation coefficient H or G. The ordinate H in FIG. 5a is an interpolation coefficient by which to multiply the density value d(x, y) of the reference pixel d(x, y), and the ordinate G in FIG. 5b is an interpolation coefficient by which to multiply the density value d(x+1, y) of the reference pixel d(x+1, y).
As shown in FIG. 5a, the interpolation coefficient H decreases linearly (i.e., at the constant rate) as the distance p between the interpolation pixel D and the reference pixel d(x, y) increases. On the other hand, as shown in FIG. 5b, the interpolation coefficient G decreases linearly (i.e., at the constant rate) as the distance 1xe2x88x92p between the interpolation pixel D and the reference pixel d(x+1, y) increases, that is, as p decreases.
FIG. 6 shows an interpolation characteristic of the linear interpolation method. In FIG. 6, the vertical axis represents the interpolation coefficient and the horizontal axis represents the relative position from the inversely-mapped interpolation pixel D in the coordinates of the original image. The negative side of the horizontal axis corresponds to the interpolation coefficient H, and hence an interpolation coefficient H at an abscissa xe2x88x92p gives an interpolation coefficient by which to multiply d(x, y). The positive side of the horizontal axis corresponds to the interpolation coefficient G, and hence an interpolation coefficient G at an abscissa 1xe2x88x92p gives an interpolation coefficient by which to multiply d(x+1, y). The interpolation characteristic of the linear interpolation method shown in FIG. 6 is symmetrical with respect to the vertical axis.
FIG. 7 shows a number-of-pixels conversion apparatus disclosed in Japanese Unexamined Patent Publication No. Hei. 9-326958 which processes pixel data according to the linear interpolation method. In FIG. 7, 101a-101d denotes memories; 102, an address generation circuit; 103a-103d, 107, and 113, terminals; 104a and 104b, switch circuits; 105, a divider, 106, 109, 112, and 115, latch circuits; 108, 114, 118a, 118b, and 119, adders; 110 and 116 latch circuits that output inverted outputs; 111a-111d and 117a-117d, multipliers; 120 and 121, inversion circuits; 122, a horizontal interpolation coefficient generation circuit; and 123, a vertical interpolation coefficient generation circuit.
The operation of the above conventional number-of-pixels conversion apparatus will be described below.
First, the numbers M and N of pixels in the horizontal direction and the vertical direction, respectively, of a post-conversion image and the numbers m and n of pixels in the horizontal direction and the vertical direction, respectively, of an original image are input from the terminals 103a-103d. The numbers M and N of pixels are supplied to the dividend input terminal of the divider 105 and the numbers m and n of pixels are input to the divisor input terminal of the divider 105. The divider 105 performs division operations according to A=M/m and B=N/n, and determines the reciprocals 1/A and 1/B of the horizontal and vertical conversion ratios.
Reciprocals 1/A of the horizontal conversion ratio are added cumulatively by the latch circuit 109 and the adder 108 of the horizontal interpolation coefficient generation circuit 122, to produce a cumulative conversion ratio xcexa3(1/A), which is supplied to the address generation circuit 102 and the latch circuit 110. The address generation circuit 102 extracts the integer portion from the cumulative conversion ratio xcexa3(1/A) and determines the coordinate x of a reference pixel d(x, y) adjacent to an interpolation pixel D. The latch circuit 110 extracts the decimal portion of the cumulative conversion ratio xcexa3(1/A) and determines an interpolation coefficient p. The interpolation coefficient p is supplied to the multipliers 111a and 111b as well as to the inversion circuit 120. The inversion circuit 120 generates 1xe2x88x92p, which is supplied to the multipliers 111c and 111d. 
On the other hand, the reciprocal 1/B of the vertical conversion ratio that is output from the divider 105 is supplied to the vertical interpolation coefficient generation circuit 123, which calculates and outputs a cumulative conversion ratio xcexa3(1/B). The cumulative conversion ratio xcexa3(1/B) is supplied to the address generation circuit 102 and the latch circuit 116, which output a coordinate y and an interpolation coefficient q, respectively. The interpolation coefficient q is supplied to the multipliers 111a and 111c and the inversion circuit 121. The inversion circuit 121 generates 1xe2x88x92q, which is supplied to the multipliers 111b and 111d. 
The address generation circuit 102 further generates addresses (x, y), x+1, y), (x, y+1), and (x+1, y+1) to be used for reading out the coordinates of four points of the original image. These addresses are supplied to the memories 101a-101d. Pixel data (i.e., density values) d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) of reference pixels are read out from the memories 101a-101d based on the addresses supplied.
The density values d(x, y), d(x+1, y), d(x, y+1), and d(x+1, y+1) are supplied to the multipliers 117d, 117b, 117c, and 117a, respectively. The multipliers 117a-117d and 111a-111d and the adders 118a, 118b, and 119 perform linear interpolation operations, whereby the density value D of the interpolation pixel D is determined.
The linear interpolation method as the first conventional example can produce a smooth enlarging conversion image irrespective of the enlargement magnification factor M/m because the interpolation coefficients H and G vary linearly (i.e., at the constant rate) with the variation of the distance p between the reference pixel d(x, y) and the inversely-mapped interpolation pixel D, as shown in FIGS. 5a and 5b. As for the vertical direction, the linear interpolation method can produce a smooth enlarging conversion image irrespective of the enlargement magnification factor N/n.
On the other hand, the fact that the variation of the interpolation coefficients is linear and small causes a problem that in a region where the density value of the original image has a steep variation, the density value in a corresponding region of the post-conversion image varies too slowly and image blurring occurs there. For example, many of display outputs of PCs (personal computers), WSs (workstations), etc. are images having steep density value variations such as a text image, a figure, and a GUI (graphical user interface) image. The use of the linear interpolation method causes a problem that such images are blurred. In particular, characters and lines are potions where the density value varies steeply. Therefore, those portions tend to be blurred greatly, which hinders the recognition of a display content.
Next, a description will be made of an interpolation method called a zeroth-order holding method as a second conventional example that satisfies the above-mentioned Equation (1) and can inhibit the problem discussed above in the linear interpolation method.
Consider a case of determining t(y) from d(x, y) and d(x+1, y) in the manner as illustrated in FIG. 3. For example, d(x, y) is used as the density value t(y) in a range 0≲p less than 0.5. On the other hand, d(x+1, y) is used as the density value t(y) in a range 0.5 less than p≲1. At p=0.5, either of d(x, y) or d(x+1, y) may be used by making a proper definition in advance.
FIGS. 8a and 8b illustrate interpolation coefficients of the zeroth-order holding method. In FIGS. 8a and 8b, the horizontal axis represents the horizontal distance p between the inversely-mapped interpolation pixel D(x+p, y+q) and the reference pixel d(x, y) and the vertical axis represents the value of the interpolation coefficient H or G.
The ordinate H of FIG. 8a is an interpolation coefficient by which to multiply the density value d(x, y) of the pixel d(x, y) of an original image. The ordinate G of FIG. 8b is an interpolation coefficient by which to multiply the density value d(x+1, y) of the pixel d(x+1, y) of the original image. As shown in FIG. 8a, the interpolation coefficient H switches from H=1 to H=0 at p=0.5 as the distance p between the interpolation pixel D and the pixel d(x, y) of the original image increases. On the other hand, as shown in FIG. 8b, the interpolation coefficient G switches from G=1 to G=0 at p=0.5 as the distance 1=p between the interpolation pixel D and the pixel d(x+1, y) of the original image increases, that is, p decreases.
FIG. 9 shows an interpolation characteristic of the zeroth-order holding method. In FIG. 9, the vertical axis represents the interpolation coefficient and the horizontal axis represents the relative position from the coordinate of the inversely-mapped interpolation pixel D. The negative side of the horizontal axis corresponds to the interpolation coefficient H, and the positive side of the horizontal axis corresponds to the interpolation coefficient G. The interpolation characteristic of the zeroth-order holding method shown in FIG. 9 is also symmetrical with respect to the vertical axis.
Image blurring, as occurs in the linear interpolation method, does not occur in the zeroth-order holding method, because the density values themselves of pixels of an original image are used to generate the density value of a pixel of a post-conversion image.
However, in the zeroth-order holding method, the following problem arises when at least one of the horizontal and vertical enlargement magnification factors is not an integer. For example, when the horizontal enlargement magnification factor is 1.25, five pixels of a post-conversion image are generated for four pixels of an original image in the horizontal direction and hence only one of the four pixels of the original image appears twice. In this manner, when an enlarging magnification factor is not an integer, the number of appearances in a post-enlarging image varies depending on the pixel of an original image. This results in deterioration in image quality in the post-enlargement image, for example, the thicknesses of a vertical line and a horizontal line are not uniform, that is, they vary depending on the position in the image or an inclined line loses smoothness.
The present invention is to provide a number-of-pixels conversion apparatus which interpolates pixel data in displaying a number-of-pixels-converted version of an image including an arbitrary number of pixel data so that the problem that the thicknesses of a vertical line and a horizontal line vary depending on the position in the image or an inclined line loses smoothness can be solved and that a post-conversion image can be displayed that is less blurred even for an original image having steep density variations.
The invention provides a number-of-pixels conversion apparatus for converting the number of pixels of an original image through an interpolation operation at an arbitrary conversion magnification factor, comprising a memory for temporarily storing digital pixel data of the original image; a position information generator for extracting a reference pixel to be used for generating an interpolation pixel through interpolation from pixels of the original image, and for generating address information of the reference pixel and a distance between the interpolation pixel and the reference pixel; a memory controller for reading out pixel data corresponding to the reference pixel from the memory based on the address information generated by the position information generator; an interpolation coefficient generator for generating an interpolation coefficient that is obtained by a function with the distance between the interpolation pixel and the reference pixel in accordance with the distance information generated by the position information generator, said function having a first derivative that is smaller than xe2x88x921 at least in a partial range; and an interpolation operation device for performing an interpolation operation based on the pixel data corresponding to the reference pixel read out by the memory controller and the interpolation coefficient generated by the interpolation coefficient generator.
The invention provides a number-of-pixels conversion apparatus, comprising an interpolation coefficient generator, operable to generate an interpolation coefficient generator, operable to generate an interpolation coefficient based on a distance between a reference pixel and an interpolation pixel; and an interpolator, operable to perform interpolation, based on the interpolation coefficient and pixel data of the reference pixel; wherein the interpolation coefficient is a function of the distance between the reference pixel and the interpolation pixel, the function having a first derivative that is smaller than xe2x88x921 at least in a partial range.
The present invention is to also provide a display apparatus which displays a number-of-pixels-converted version of an image including an arbitrary number of pixel data in such a manner that the problem that the thicknesses of a vertical line and a horizontal line vary depending on the position in the image or an inclined line loses smoothness can be solved and that a post-conversion image can be displayed that is less blurred even for an original image having steep density variations.
The present invention also provides a display apparatus which converts the number of pixels of an original image through an interpolation operation at an arbitrary conversion magnification factor and displays a post-conversion image, comprising a memory for temporarily storing digital pixel data of the original image; a position information generator for extracting a reference pixel to be used for generating an interpolation pixel through interpolation from pixels of the original image, and for generating address information of the reference pixel and a distance between the interpolation pixel and the reference pixel; a memory controller for reading out pixel data corresponding to the reference pixel from the memory based on the address information generated by the position information generator; an interpolation coefficient generator for generating an interpolation coefficient that is obtained by a function with the distance between the interpolation pixel and the reference pixel in accordance with the distance information generated by the position information generator, said function having a first derivative that is smaller than xe2x88x921 at least in a partial range; an interpolation operation device for performing an interpolation operation based on the pixel data corresponding to the reference pixel read out by the memory controller and the interpolation coefficient generated by the interpolation coefficient generator; and a display device for displaying an image based on an output of the interpolation operation device.
The present invention also provides a display apparatus, comprising an interpolation coefficient generator, operable to generate an interpolation coefficient based on a distance between a reference pixel and an interpolation pixel; and interpolator, operable to perform interpolation based on the interpolation coefficient and pixel data of the reference pixel; and a display, operable to display an image based on pixel data created using the interpolation coefficient; wherein the interpolation coefficient is a function of the distance between the reference pixel and the interpolation pixel, the function having a first derivative that is smaller than xe2x88x921 at least in a partial range.